C প্রোগ্রামিং ভাষায় Functions, Arrays, এবং Pointers হল গুরুত্বপূর্ণ উপাদান, যা কোডের কার্যকারিতা এবং জটিলতা নিয়ন্ত্রণ করতে সাহায্য করে। নিচে এগুলোর ব্যবহার এবং উদাহরণসহ বিস্তারিত আলোচনা করা হলো।
১. Functions (ফাংশনস)
Functions হল কোডের একটি স্বতন্ত্র ব্লক যা একটি নির্দিষ্ট কাজ সম্পন্ন করে। এটি পুনঃব্যবহারযোগ্য এবং কোডকে সংগঠিত করে।
১.১ ফাংশন ডিক্লারেশন এবং ডিফাইনেশন
- ডিক্লারেশন: ফাংশনের সিগনেচার যা কম্পাইলারকে ফাংশনের উপস্থিতি জানায়।
- ডিফাইনেশন: ফাংশনের সম্পূর্ণ বাস্তবায়ন।
উদাহরণ:
#include <stdio.h>
// Function declaration
int add(int a, int b);
// Function definition
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 10); // Function call
printf("The sum is: %d\n", result); // Output: The sum is: 15
return 0;
}
২. Arrays (অ্যারে)
Arrays হল একই ধরনের ডেটা উপাদানের একটি সংগ্রহ, যা একযোগে একাধিক মান সংরক্ষণ করতে ব্যবহৃত হয়।
২.১ অ্যারে ডিক্লারেশন এবং ইনিশিয়ালাইজেশন
#include <stdio.h>
int main() {
int numbers[5] = {1, 2, 3, 4, 5}; // Array declaration and initialization
// Accessing array elements
for (int i = 0; i < 5; i++) {
printf("%d ", numbers[i]); // Output: 1 2 3 4 5
}
return 0;
}
২.২ অ্যারে ফাংশনে পাস করা
#include <stdio.h>
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]); // Print array elements
}
}
int main() {
int numbers[] = {1, 2, 3, 4, 5};
printArray(numbers, 5); // Passing array to function
return 0;
}
৩. Pointers (পয়েন্টারস)
Pointers হল একটি ডেটা টাইপ যা অন্য একটি ভেরিয়েবলের মেমরি ঠিকানা সংরক্ষণ করে। এটি মেমরি পরিচালনায় এবং ডেটা স্ট্রাকচার ব্যবস্থাপনায় সহায়ক।
৩.১ পয়েন্টার ডিক্লারেশন
#include <stdio.h>
int main() {
int value = 10;
int *ptr; // Pointer declaration
ptr = &value; // Assigning the address of value to ptr
printf("Value: %d\n", value); // Output: Value: 10
printf("Pointer value: %d\n", *ptr); // Output: Pointer value: 10
return 0;
}
৩.২ পয়েন্টার এবং ফাংশন
পয়েন্টার ব্যবহার করে আপনি ফাংশনের মাধ্যমে ভেরিয়েবলের মান পরিবর্তন করতে পারেন।
#include <stdio.h>
void changeValue(int *ptr) {
*ptr = 20; // Change the value at the address pointed to by ptr
}
int main() {
int value = 10;
printf("Before: %d\n", value); // Output: Before: 10
changeValue(&value); // Passing the address of value
printf("After: %d\n", value); // Output: After: 20
return 0;
}